package com.bfly.core.base.controller;

import com.bfly.core.context.ContextUtil;
import com.bfly.core.enums.SysError;
import com.bfly.core.exception.ServiceResponseException;
import com.bfly.mall.admin.entity.Admin;
import com.bfly.mall.user.entity.User;
import org.springframework.validation.BindingResult;

/**
 * 后台管理接口父类Controller
 *
 * @author 长沙商脉科技有限公司
 * @date 2018/12/3 16:44
 */
public class BaseController extends AbstractController {

    /**
     * 获得当前登录管理员对象
     *
     * @author 长沙商脉科技有限公司
     * @date 2018/12/3 20:36
     */
    public Admin getAdmin() {
        return ContextUtil.getLoginAdmin();
    }

    /**
     * 获得当前登录的会员对象
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/11/13 10:29
     */
    public User getUser() {
        return ContextUtil.getLoginUser();
    }

    /**
     * URL重定向
     *
     * @author 长沙商脉科技有限公司
     * @date 2018/11/29 16:59
     */
    public String redirect(String url) {
        return "redirect:" + url;
    }

    /**
     * 校验数据
     *
     * @author 长沙商脉科技有限公司
     * @date 2018/12/10 12:50
     */
    public void validData(BindingResult result) {
        if (result.hasErrors()) {
            throw new ServiceResponseException(SysError.PARAM_ERROR, result.getFieldError().getDefaultMessage());
        }
    }
}
